package com.base;

import java.util.Arrays;

public class ArrayDemo05 {
    public static void main(String[] args) {
        int [] a = { 2,4 , 4, 2 ,4 ,5, 999,4};
        System.out.println("length of a : "+ a.length);
        int[] b = sort(a);
        System.out.println(Arrays.toString(b));
    }

    /*
    * 手撕冒泡排序
    * 1.从头到尾依次比较数组中相邻的元素
    * 2.每轮把最大的数放到最后
    * */
    public  static int[] sort(int[] a ){
        int temp;
        //外层循环：比较几轮(n个数，仅需要n-1轮)
        for (int i = 0; i < a.length - 1; i++) {
            //内层循环：每轮进行冒泡，最大的冒到最后
            int j = 0;
            for(; j <a.length -1 -i; j ++){
                if( a[j+1] < a[j]){
                    temp = a[j+1];
                    a[j+1] = a[j];
                    a[j] = temp;
                }
            }
            //System.out.println("每轮参与排序的个数："+ j);
        }

        return a;
    }
}
